memac: Memory allocator using slab and buddy allocators
Usage
First of all, allocate 64KiB aligned memory regions for slab and buddy allocators.
use memac;
use ;
static mut ALLOC: Allocator = new;
const HEAP_SIZE: usize = 32 * 1024 * 1024; // 32MiB
[]
= "0.2"
= "0.5"
memac::Allocator<memac::budyy::Buddy32M>
means that
the slab allocator uses the buddy allocator to allocate slabs.
If a requested size is greater than (65512 - 8) bytes,
the buddy allocator is used to allocate memory.
memac::Allocator<memac::pager::PageManager>
means that
the allocator uses the page manager to allocate slabs.
If a requested size is greater than (65512 - 8) bytes,
the page manager is used to allocate memory.
If a requested size is greater that 64K bytes,
the allocation will fail.